在 JavaScript 中有數值 (number)、字串 (string)、布林值 (boolean)、特殊型別 (null / undefined)、陣列 (array)、物件 (object)、函式 (function),這些可用的資料型別,在這裡我也不會一一說明這些型別,一來網路有很多寫的比我好的大神在,二來這是很基本的知識,您應該要會,我只分享當您接 API 時,得到一大包的資料時,您就要學會去分辨,請看以下範例表示。
以及要注意的是,觀察這些欄位的值,如果是數值 (number),哪該欄位的名稱,是否一眼就能看出這是數值 (number),依序舉例 ....
{
  "message_code": null,
  "result": {
    "exception": [
      {
        "client_id": "MA3576",
        "comment": "",
        "created_at_utc": "2020/09/21 09:44:57",
        "created_by": "vita@gmail.com",
        "delivery_id": null,
        "delivery_number": null,
        "edi_event_code": "SD",
        "edi_outbound_id": null,
        "edi_sent_at_utc": null,
        "edi_status_code": "NS",
        "event_at": "2020/09/21 12:00:00",
        "event_description": "Shipment Delayed",
        "event_location": "INCHEON",
        "id": 121,
        "impacted_milestone": "AIR_SHIPMENT_ATD_ROUTE2",
        "new_date": "2020/09/28 12:00:00",
        "shipment_id": 379501,
        "shipment_number": "CN120006864",
        "status_description": "Normal Status",
        "updated_at_utc": "2020/09/21 09:44:57",
        "updated_by": "vita@gmail.com",
        "vip_name": "React"
      }
    ]
  },
  "total_item": 1
}
.或[]兩種方法。delete,會使用這個方法,我目前是常使用在新建立一筆資料時,要送回去後端時,什麼 key 不能送,哪就會使用delete來幫助我刪除掉不必要的值。const removeFakeField = (values) => {
  const newValues = _.cloneDeep(values)
  if (!_.isEmpty(newValues.kpi_exception_list)) {
    newValues.kpi_exception_list.forEach((kpiException, index) => {
      delete newValues.kpi_exception_list[index].fakeId // 請注意這就好
    })
  }
  return newValues
}
length、isArray、toString、sort、map、filter、reduce 等等... 針對陣列的說明,之後會另外寫一篇文章來詳細介紹。typeof 'vita' // 'string'
typeof  123   // 'number'
typeof  {}    // 'object'
typeof  []    // 'object'
typeof判斷[]or{}其都會得到object,故在 ES5 之後,陣列新增了一個isArray()的方法來協助我們判斷。Array.isArray([])        // true
Array.isArray(['vita'])  // true
Array.isArray({})        // false